package com.lcc.trans.service;

import com.lcc.trans.mapper.UserInfoMapper;
import org.apache.ibatis.annotations.Insert;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@Service
public class UserService {
    @Autowired
    private UserInfoMapper userInfoMapper;
    //使用事务传播机制REQUIRES_NEW：无论当前是否存在，该方法都会自己创建一个事务，同时执行情况不会受其他事务影响，
    // 不像默认的REQUIRED，大家共用一个事务，中间某一个方法执行不成功，大家都执行不成功
//    @Transactional(propagation = Propagation.REQUIRES_NEW)
    //事务传播机制为NESTED，嵌套事务,属于事务p1的嵌套事务，嵌套事务都成功则成功，如果一个失败则都失败
    @Transactional(propagation = Propagation.NESTED)
    public Integer insertUser(String userName,String password){
        return userInfoMapper.insert(userName, password);
    }
}
